package com.wzl.day6;

/**
 * @author wuzhilang
 * @Title: Day6
 * @ProjectName questions
 * @Description: TODO
 * @date 8/15/201911:04 AM
 */

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 快排的思考修正，感觉这么写有利于记忆
 */
public class Day6 {
    //	一趟快排
    public static void sort(int sources[], int low, int high) {
        int key = sources[low];
        int l = low;
        int h = high;
        while (l < h) {
//			从右边找第一个小于基点的数
            while (l < h && sources[h] >= key) {
                h--;
            }
//			从左边找第一个大于基点的数
            while (l < h && sources[l] >= key) {
                l++;
            }
//			找到就交换数据
            swap(sources, l, h);
        }
        //	归并方法,左右归并
        sort(sources, low, l - 1);
        sort(sources, l + 1, high);

    }


    //	交换数据
    public static void swap(int sourses[], int a, int b) {
        int temp = sourses[a];
        sourses[b] = sourses[a];
        sourses[a] = temp;
    }


}
